草庐IT

go - 将数据添加到map [string] interface {}

全部标签

Ruby 将 String 拆分为两部分并放入带有预定义键的散列

我不知道这是否真的是好的ruby​​代码,但我想做的是将一个String分成两个单独的部分,并将这两个部分作为两个特定键的值。例如:name_a="HenryFillenger".split(/\s+/,2)name={:first_name=>name_a[0],:last_name=>name_a[1]}我想知道这是否可以通过一些ruby​​魔法在一行中完成。 最佳答案 您可以使用Hash[]和zip这样做:name=Hash[[:first_name,:last_name].zip("HenryFillenger".split

Ruby String.encode 仍然给出 "invalid byte sequence in UTF-8"

在IRB中,我正在尝试以下操作:1.9.3p194:001>foo="\xBF".encode("utf-8",:invalid=>:replace,:undef=>:replace)=>"\xBF"1.9.3p194:002>foo.match/foo/ArgumentError:invalidbytesequenceinUTF-8from(irb):2:in`match'知道出了什么问题吗? 最佳答案 我猜"\xBF"已经认为它是用UTF-8编码的,所以当你调用encode时,它认为你正在尝试编码一个UTF-8中的UTF-8字符

ruby-on-rails - Rails 未定义方法 `strftime' 为 "2013-03-06":String

我遇到了错误“2013-03-06”的未定义方法`strftime':String当尝试使用strftime从字符串2013-03-06正常显示日期(2013年6月3日或类似日期)时。在我的index.html.erb中执行此操作的行看起来像这样我只是在学习Rails,所以我确信这只是一个愚蠢的初学者错误,我们将不胜感激。谢谢 最佳答案 当strftime是时间/日期类的方法时,您的截止日期看起来是一个字符串。你可以试试这个:Date.parse(task.duedate).strftime("%B%e,%Y")

ruby-on-rails - rails : why is calling to_a on a string not valid in a rake task?

我正在尝试解密一组用于数据库迁移的密码。我有一些旧的Rails代码(实际上是一个Runner脚本)可以很好地解密它们。但是将相同的代码放入Rake任务会导致任务失败,并显示...未定义的方法`to_a'for"secretkey":String...为什么在字符串上调用to_a在Rake任务中无效,但在Runner脚本中却完全有效?require'openssl'KEY='secretkey'namespace:importdotask:users=>:environmentdodefdecrypt_password(pw)cipher=OpenSSL::Cipher::Cipher.

ruby - 缺少 mysql2 gem。将它添加到你的 Gemfile : gem 'mysql2'

版本ruby1.9.2-p290导轨3.0.9rvm下的mysql2-0.2.13Ubuntu11.04gem使用“geminstallmysql2-v'rails和“railsc”工作正常。我需要使用activerecord3.0.9在Rails环境之外运行脚本。当我运行脚本时,这是输出:======================/home/ross/work/x/library/models.rb:27:in`eval':!!!Missingthemysql2gem.AddittoyourGemfile:gem'mysql2'(RuntimeError)from/home/ros

ruby-on-rails - 将用户生成的文本安全地存储在数据库中 (Ruby/Rails)

我正在尝试找到一种方法将用户生成的文本安全地存储在数据库中(这样只有用户才能访问他/她存储的文本)。我可以让Rails使用用户密码作为key来加密和解密用户的文本条目,但是如果用户忘记了他们的密码,就没有办法解密他们以前的内容/文本(因为Rails应用程序使用BCrypt来仅存储密码的哈希值)。有人知道怎么做吗?看起来Dropbox做了类似的事情:“存储在Dropbox服务器上的所有文件都经过加密(AES-256),没有您的帐户密码就无法访问。”(http://www.dropbox.com/help/27)然而,它们允许您重置密码,我假设它们不会在任何地方存储您的纯文本密码。我错过了

ruby-on-rails - Sorcery Gem - 外部提供商的自定义 user_info_mapping

我正在使用SorceryAuthenticationGem的0.7.7版通过NoamB在我的Rails3.2应用程序上我正在寻找一种可能性,如何连接一种为特定外部登录提供商(例如facebook、twitter)执行用户信息映射的方法。例如,我想将提供的语言环境更改为我在数据库中使用的格式,或者我想从Twitter下载用户头像作为匹配过程的一部分。默认情况下,只有通过sorcery.rb文件才能通过这种方式:config.facebook.user_info_mapping={:email=>"email",:first_name=>"first_name",:last_name=>"

ruby-on-rails - 如何使用 ActiveRecord 为一个应用程序生成数据库模式图?

我想生成图表来描述使用ActiveRecord的应用程序内的关系,是否有一些gem可以实现这一点?比如这个 最佳答案 有一个很好的gem:https://github.com/amatsuda/erd但据我所知,它最后一次更新是在2年前。根据README,它具有以下特性:Erd根据您应用的数据库和模型绘制ER图您可以拖动和排列每个模型的位置您可以操作数据库架构操作,例如添加列、重命名列、更改列、创建模型(以及table)和droptable然后,Erd在服务器上生成迁移文件您可以在浏览器上运行每次迁移

ruby - 将 omniauth-gem 添加到综合 GitLab 安装

一般来说,我对ruby​​并没有太多经验,也没有尝试在GitLab社区版中安装新的omniauth提供程序。我使用综合包将其安装在Ubuntu14.04上。目标是根据JasigCAS对GitLab进行身份验证根据Customomniauthproviderconfigurationsdoc使这项工作正常进行的下一步是使用“gem'omniauth-cas'”将相应的gem添加到gemfile。安装的omnibus包甚至可以做到这一点吗?还是必须手动重新安装?我在安装目录中没有看到任何gemfile,我想它在/var/opt/gitlab的某个地方?谢谢大家!

ruby-on-rails - 使用 ruby​​ on rails 将 bool 值保存到 postgres 数据库

我从事一个旧的Rails项目已有一段时间了。由于我有一段时间没有使用Rails,所以我有点生疏,需要一些帮助。问题是我正在向电子商务网站添加一个提货选项。后端由activeadmin驱动当客户检查其产品时。他可以选择在商店取货或寄送。而且我希望订单在后端显示是应该发送产品还是在商店取货。我有点卡在这里,交付选项似乎没有保存到数据库中......如果有人能帮助我,那就太好了。这是取货选项的html。它位于views/orders/_form.html.erb这是schema.rb文件的一部分create_table"orders",force::cascadedo|t|t.string"